The increasing popularity and ubiquity of terminal devices such as mobile phones, tablet computers, laptop computers, personal computers, wearable devices, in-vehicle devices, and Internet of Things (IoT) devices (e.g., smart appliances, etc.) has led to improved ease for users to interact with such terminal devices. At the same time, terminal devices are becoming multiple purpose devices, capable of providing users with a variety of applications (APPs) such as Web Browsers, messaging programs, mobile payment programs, social media programs, home automation programs, media players, game players, navigation guidance, and the like. Typically, user interfaces (UIs) play an important role in human-machine interactions driven by application programs. For example, such UIs can be a graphical user interface (GUI), a touchless user interface (e.g., gesture-based user interface, etc.), and the like.
Unsurprisingly, there has been an increasing popularity for applications to employ graphics or animations so that more appealing and interactive user interfaces can be provided to engage users at terminal devices on which the applications execute. As a result, oftentimes a large amount of pictures or images is processed for the purpose of configuring and/or rendering UIs at a terminal device. For example, a locally stored image (e.g., a camera captured photo, an image downloaded from the internet, etc.) can be configured and rendered as a wallpaper of a home page or a desktop, a background of an application, an icon representing a corresponding application, and the like.
According to conventional techniques, a locally stored image is processed to be included as part of a UI by the following steps. First, the image is loaded into a first memory, and converted into image content (e.g., image components) based on the image format specified therefor. Next, the converted image is loaded into a second memory of a processor, e.g., a graphic processor, for processing. Then, the image is processed by the processor accordingly based on the image content loaded in the second memory, the result of which is outputted to a terminal device. Finally, upon the application corresponding to the image exiting from its execution, all the memories utilized by the application are released.
As such, when all the memories utilized by the afore-described application are released, if the same image is loaded repeatedly from a local storage, the step of loading the image content data into the first memory can be skipped. Nevertheless, with a terminal device being able to process an increasingly large amount of images, the use of both the first memory and the second memory takes up an increasingly large amount of system memory, impacting the overall system functionality in a negative manner.
For example, for terminal devices equipped with a relatively limited amount of memory (e.g., system memory of 1 G or 512 M), the above-described negative impact is more pronounced with regard to the performance and functionalities of the terminal devices. For instance, in some extreme cases, such negative impact might cause a freeze effect on the terminal device, e.g., applications other than the one corresponding to the image are not able to be launched by the user of the terminal device due to a low amount of system memory available.